9 research outputs found

    Effective engineering of multi-robot software applications

    Get PDF
    The number and complexity of robotic applications that are being developed both in industry and academia are increasing continuously. However, those applications are not engineered through well-defined system engineering processes, and this leads to time-consuming issues. Besides, robot applications are increasingly based on teams of autonomous robots that work collaboratively with other robots and/or humans to accomplish complex missions. This further increases the complexity of the controlling application. In this Ph.D. project, we aim to bring software engineering best practices to the robotic domain in order to produce processes, architectural models, and methods to be used by developers in order to tackle common challenges such as reusability, variability, and modularity. The goal is to reduce development time and effort, thereby reducing the time-to-market of robotic applications. To validate our results we make use of different models of real robots in real-world scenarios

    MAPmAKER: performing multi-robot LTL planning under uncertainty

    Get PDF
    Robot applications are being increasingly used in real life to help humans performing dangerous, heavy, and/or monotonous tasks. They usually rely on planners that given a robot or a team of robots compute plans that specify how the robot(s) can fulfill their missions. Current robot applications ask for planners that make automated planning possible even when only partial knowledge about the environment in which the robots are deployed is available. To tackle such challenges we developed MAPmAKER, which provides a decentralized planning solution and is able to work in partially known environments. Decentralization is realized by decomposing the robotic team into subteams based on their missions, and then by running a classical planning algorithm. Partial knowledge is handled by calling several times a classical planning algorithm. Demo video available at: https://youtu.be/TJzC_u2yfzQ

    Software variability in service robotics

    Get PDF
    Robots artificially replicate human capabilities thanks to their software, the main embodiment of intelligence. However, engineering robotics software has become increasingly challenging. Developers need expertise from different disciplines as well as they are faced with heterogeneous hardware and uncertain operating environments. To this end, the software needs to be variable—to customize robots for different customers, hardware, and operating environments. However, variability adds substantial complexity and needs to be managed—yet, ad hoc practices prevail in the robotics domain, challenging effective software reuse, maintenance, and evolution. To improve the situation, we need to enhance our empirical understanding of variability in robotics. We present a multiple-case study on software variability in the vibrant and challenging domain of service robotics. We investigated drivers, practices, methods, and challenges of variability from industrial companies building service robots. We analyzed the state-of-the-practice and the state-of-the-art—the former via an experience report and eleven interviews with two service robotics companies; the latter via a systematic literature review. We triangulated from these sources, reporting observations with actionable recommendations for researchers, tool providers, and practitioners. We formulated hypotheses trying to explain our observations, and also compared the state-of-the-art from the literature with the-state-of-the-practice we observed in our cases. We learned that the level of abstraction in robotics software needs to be raised for simplifying variability management and software integration, while keeping a sufficient level of customization to boost efficiency and effectiveness in their robots’ operation. Planning and realizing variability for specific requirements and implementing robust abstractions permit robotic applications to operate robustly in dynamic environments, which are often only partially known and controllable. With this aim, our companies use a number of mechanisms, some of them based on formalisms used to specify robotic behavior, such as finite-state machines and behavior trees. To foster software reuse, the service robotics domain will greatly benefit from having software components—completely decoupled from hardware—with harmonized and standardized interfaces, and organized in an ecosystem shared among various companies

    An Architecture for Decentralized, Collaborative, and Autonomous Robots

    No full text
    Robotic applications are typically realized using ad hoc and domain-specific solutions, which challenges the engineering and cross-project reuse of such applications. Especially in complex scenarios, where self-adaptive robots collaborate among themselves or with humans, the effective and systematic engineering of such applications is becoming increasingly important. Such scenarios require decentralized software architectures that foster fault-tolerant ways of managing large teams of (possibly) heterogeneous robots. To the best of our knowledge, no existing architecture for robot applications supports decentralized and self-adaptive collaboration. To address this gap, we conducted a design science study with 21 practitioners and experts in the field of robotics to develop an architecture fulfilling these requirements through several iterations. We present SERA, an architecture for robot applications that supports human-robot collaboration, as well as adaptation and coordination of single- and multi-robot systems in a decentralized fashion. SERA is based on layers that contain components that manage the adaptation at different levels of abstraction and communicate through well-defined interfaces. We successfully validated SERA by considering a set of real scenarios, by both using simulators and real robots, by involving robotic experts, and by benchmarking it with state-of-the-art solutions

    Robotics Software Engineering: A Perspective from the Service Robotics Domain (Summary)

    No full text
    We present our paper published in the proceedings of the ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering 2020. Robots that support humans by performing useful tasks (a.k.a., service robots) are booming worldwide. In contrast to industrial robots, the development of service robots comes with severe software engineering challenges, since they require high levels of robustness and autonomy to operate in highly heterogeneous environments. As a domain with critical safety implications, service robotics faces a need for sound software development practices. In this paper, we present the first large-scale empirical study to assess the state of the art and practice of robotics software engineering. We conducted 18 semi-structured interviews with industrial practitioners working in 15 companies from 9 different countries and a survey with 156 respondents (from 26 countries) from the robotics domain. Our results provide a comprehensive picture of (i) the practices applied by robotics industrial and academic practitioners, including processes, paradigms, languages, tools, frameworks, and reuse practices, (ii) the distinguishing characteristics of robotics software engineering, and (iii) recurrent challenges usually faced, together with adopted solutions. The paper concludes by discussing observations, derived hypotheses, and proposed actions for researchers and practitioners

    Variability modeling of service robots: Experiences and challenges

    No full text
    \ua9 2019 ACM. Sensing, planning, controlling, and reasoning, are human-like capabilities that can be articially replicated in an autonomous robot. Such a robot implements data structures and algorithms devised on a large spectrum of theories, from probability theory, mechanics, and control theory to ethology, economy, and cognitive sciences. Software plays a key role in the development of robotic systems, as it is the medium to embody intelligence in the machine. During the last years, however, software development is increasingly becoming the bottleneck of robotic systems engineering due to three factors: (a) the software development is mostly based on community efforts and it is not coordinated by key stakeholders; (b) robotic technologies are characterized by a high variability that makes reuse of software a challenging practice; and (c) robotics developers are usually not specically trained in software engineering. In this paper, we illustrate our experiences from EU, academic, and industrial projects in identifying, modeling, and managing variability in the domain of service robots. We hope to raise awareness for the specic variability challenges in robotics software engineering and to inspire other researchers to advance thiseld

    Management of coronary disease in patients with advanced kidney disease

    No full text
    BACKGROUND Clinical trials that have assessed the effect of revascularization in patients with stable coronary disease have routinely excluded those with advanced chronic kidney disease. METHODS We randomly assigned 777 patients with advanced kidney disease and moderate or severe ischemia on stress testing to be treated with an initial invasive strategy consisting of coronary angiography and revascularization (if appropriate) added to medical therapy or an initial conservative strategy consisting of medical therapy alone and angiography reserved for those in whom medical therapy had failed. The primary outcome was a composite of death or nonfatal myocardial infarction. A key secondary outcome was a composite of death, nonfatal myocardial infarction, or hospitalization for unstable angina, heart failure, or resuscitated cardiac arrest. RESULTS At a median follow-up of 2.2 years, a primary outcome event had occurred in 123 patients in the invasive-strategy group and in 129 patients in the conservative-strategy group (estimated 3-year event rate, 36.4% vs. 36.7%; adjusted hazard ratio, 1.01; 95% confidence interval [CI], 0.79 to 1.29; P=0.95). Results for the key secondary outcome were similar (38.5% vs. 39.7%; hazard ratio, 1.01; 95% CI, 0.79 to 1.29). The invasive strategy was associated with a higher incidence of stroke than the conservative strategy (hazard ratio, 3.76; 95% CI, 1.52 to 9.32; P=0.004) and with a higher incidence of death or initiation of dialysis (hazard ratio, 1.48; 95% CI, 1.04 to 2.11; P=0.03). CONCLUSIONS Among patients with stable coronary disease, advanced chronic kidney disease, and moderate or severe ischemia, we did not find evidence that an initial invasive strategy, as compared with an initial conservative strategy, reduced the risk of death or nonfatal myocardial infarction

    Health status after invasive or conservative care in coronary and advanced kidney disease

    No full text
    BACKGROUND In the ISCHEMIA-CKD trial, the primary analysis showed no significant difference in the risk of death or myocardial infarction with initial angiography and revascularization plus guideline-based medical therapy (invasive strategy) as compared with guideline-based medical therapy alone (conservative strategy) in participants with stable ischemic heart disease, moderate or severe ischemia, and advanced chronic kidney disease (an estimated glomerular filtration rate of <30 ml per minute per 1.73 m2 or receipt of dialysis). A secondary objective of the trial was to assess angina-related health status. METHODS We assessed health status with the Seattle Angina Questionnaire (SAQ) before randomization and at 1.5, 3, and 6 months and every 6 months thereafter. The primary outcome of this analysis was the SAQ Summary score (ranging from 0 to 100, with higher scores indicating less frequent angina and better function and quality of life). Mixed-effects cumulative probability models within a Bayesian framework were used to estimate the treatment effect with the invasive strategy. RESULTS Health status was assessed in 705 of 777 participants. Nearly half the participants (49%) had had no angina during the month before randomization. At 3 months, the estimated mean difference between the invasive-strategy group and the conservative-strategy group in the SAQ Summary score was 2.1 points (95% credible interval, 120.4 to 4.6), a result that favored the invasive strategy. The mean difference in score at 3 months was largest among participants with daily or weekly angina at baseline (10.1 points; 95% credible interval, 0.0 to 19.9), smaller among those with monthly angina at baseline (2.2 points; 95% credible interval, 122.0 to 6.2), and nearly absent among those without angina at baseline (0.6 points; 95% credible interval, 121.9 to 3.3). By 6 months, the between-group difference in the overall trial population was attenuated (0.5 points; 95% credible interval, 122.2 to 3.4). CONCLUSIONS Participants with stable ischemic heart disease, moderate or severe ischemia, and advanced chronic kidney disease did not have substantial or sustained benefits with regard to angina-related health status with an initially invasive strategy as compared with a conservative strategy
    corecore